// #include<iostream>
// using namespace std;
// class Date
// {
// public:
// Date(int year = 2025,int month = 4,int day = 28)
// {
//     _year = year;
//     _month = month;
//     _day = day;
// }
// //bool operator==(Date* this,const Date& d2)
// bool operator==(const Date& d2)
// {
//     return _year == d2._year
//         && _month == d2._month
//         && _day == d2._day;
// } 

// Date& operator=(const Date& d2)
// {
//     if(this != &d2)
//     {
//         _year = d2._year;
//         _month = d2._month;
//         _day = d2._day;
//     }
//     return *this;
// }
// //出了作用域this指向的对象还在就可以使用引用做返回值

// //前置++重载和后置++重载
// Date& operator++()
// {
//     _day += 1;
//     return *this;
// }
// //int 仅是个标记，告诉编译器这是后置++
// Date operator++(int)
// {
//     Date tmp(*this);
//     _day += 1;
//     return tmp;
// }
// void Print()
// {
//     cout <<_year <<" "<<_month <<" "<<_day <<'\n';
// }

// private:
//     int _year;
//     int _month;
//     int _day;
// };
// int main()
// {
//     Date d1(2025,3,27);
//     Date d;
//     d = d1++;
//     d.Print();
//     d = ++d1;
//     d.Print();
//     return 0;
// }